package com.mesd.framework.dao;

import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.springframework.orm.hibernate3.HibernateTemplate;

public interface BaseDao {
	public HibernateTemplate getHibernateTemplate();
	
	public Serializable saveObject(Object obj);
	
	public void saveOrUpdateObject(Object obj);
	
	public void saveOrUpdateAll(Collection objs);
	
	public void removeObject(Object obj);
	
	public void removeAll(Collection objs);
	
	public void refreshObject(Object obj);
	
	public List getObjects(Class clazz,String propertyName,Object value);
	
	public Object getObject(Class clazz,String propertyName,Object value);
	
	public List getObjectsInTime(Class clazz,String propertyName,Date low, Date high);
	
	public List getObjects(Class clazz,Map<String, Object> map);
	
	public Object getObject(Class clazz,Map<String, Object> map);
}
